# -*- coding: utf-8 -*-
from flask import make_response, request
from functools import wraps

from flask_jwt_extended import JWTManager

from application import app
import time
import traceback
import www
import logging
from logging.handlers import RotatingFileHandler

from common.libs.utils.handle_error import handle_error,handle_not_found_error
from common.libs.utils.json_response import JsonResponse

jwt = JWTManager(app)


def main():
    # 设置日志的记录等级
    logging.basicConfig(level=logging.DEBUG)  # 调试debug级
    # 创建日志记录器，指明日志保存的路径、每个日志文件的最大大小、保存的日志文件个数上限
    file_log_handler = RotatingFileHandler("logs/log", maxBytes=1024 * 1024 * 100, backupCount=10)
    # 创建日志记录的格式 日志等级 输入日志信息的文件名 行数 日志信息
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    # 为刚创建的日志记录器设置日志记录格式
    file_log_handler.setFormatter(formatter)
    # 为全局的日志工具对象（flask app使用的）添加日志记录器
    logging.getLogger().addHandler(file_log_handler)
    app.errorhandler(Exception)(handle_error)
    app.errorhandler(404)(handle_not_found_error)

    # 运行app
    app.run(host='0.0.0.0', port=app.config['SERVER_PORT'], debug=True)

if __name__ == '__main__':
    try:
        import sys

        sys.exit(main())
    except Exception as e:
        import traceback

        traceback.print_exc()
